|
Author |
Thread Statistics | Show CCP posts - 8 post(s) |
Almir Kadric
|
Posted - 2011.07.22 20:13:00 -
[1]
I may have found a bug in the database.
When you lookup RAM requirements for invention, the Data interface comes up as consumable (damagePerJob > 0)
Which get's me thinking, is the server hard coded to automatically spit this out when installing an invention?
For some context into what I'm doing: I'm building a website which compares the production costs of different BPO's among other things (production time, income per hour etc) based on the market of a region or system.
Here's an SQL Query example which I used to get the data I mentioned above.
<BEGIN SQL> SELECT InventionRequirements.*, RequiredItem.groupID, RequiredItem.typeName FROM ramtyperequirements AS InventionRequirements
LEFT JOIN invblueprinttypes AS ItemBlueprint ON ItemBlueprint.blueprintTypeID = InventionRequirements.typeID LEFT JOIN ramtyperequirements AS RamRequirements ON RamRequirements.requiredTypeID = ItemBlueprint.productTypeID LEFT JOIN invblueprinttypes AS InventionOutcome ON InventionOutcome.blueprintTypeID = RamRequirements.typeID LEFT JOIN invtypes AS RequiredItem ON RequiredItem.typeID = InventionRequirements.requiredTypeID
WHERE RamRequirements.typeID = 11401 AND InventionRequirements.activityID = 8 AND InventionRequirements.damagePerJob > 0; <END SQL>
If I am supposed to just hard code the ignoring of the consumption of data interfaces by invtypes.groupID I guess I will (even though its a little ugly in code) however it does raise some alarms on what CCP is doing in game O_O
But odd's are I missed something in the database ;p
Almir Kadric
|
Almir Kadric
|
Posted - 2011.07.23 10:06:00 -
[2]
Originally by: Ruziel
Originally by: Almir Kadric I may have found a bug in the database.
When you lookup RAM requirements for invention, the Data interface comes up as consumable (damagePerJob > 0)
Which get's me thinking, is the server hard coded to automatically spit this out when installing an invention?
For some context into what I'm doing: I'm building a website which compares the production costs of different BPO's among other things (production time, income per hour etc) based on the market of a region or system.
Here's an SQL Query example which I used to get the data I mentioned above.
<BEGIN SQL> SELECT InventionRequirements.*, RequiredItem.groupID, RequiredItem.typeName FROM ramtyperequirements AS InventionRequirements
LEFT JOIN invblueprinttypes AS ItemBlueprint ON ItemBlueprint.blueprintTypeID = InventionRequirements.typeID LEFT JOIN ramtyperequirements AS RamRequirements ON RamRequirements.requiredTypeID = ItemBlueprint.productTypeID LEFT JOIN invblueprinttypes AS InventionOutcome ON InventionOutcome.blueprintTypeID = RamRequirements.typeID LEFT JOIN invtypes AS RequiredItem ON RequiredItem.typeID = InventionRequirements.requiredTypeID
WHERE RamRequirements.typeID = 11401 AND InventionRequirements.activityID = 8 AND InventionRequirements.damagePerJob > 0; <END SQL>
If I am supposed to just hard code the ignoring of the consumption of data interfaces by invtypes.groupID I guess I will (even though its a little ugly in code) however it does raise some alarms on what CCP is doing in game O_O
But odd's are I missed something in the database ;p
Almir Kadric
It has been that way for a while. What I do, and so does a corp mate who writes an app that uses the db, is just change our copies of the DB for this issue.
the the MySQL version: UPDATE ramTypeRequirements r INNER JOIN invTypes i ON i.typeID = r.requiredTypeID SET damagePerJob = 0 WHERE r.activityID = 8 AND i.groupID = 716;
Yeah I just modified my SQL statement to contain the condition "RequiredItem.groupID != 716"
Don't consider it good practice to change their data, because if I were ever to restore the data again I would probably lose track of it and it would take me a while to figure out my calculations were all messed up. BAD PRACTICE!
Plus my additional condition is very future proof as well, since if they change the data no change would occur.
THANKS A LOT FOR THE HELP ^_^
Look forward to EVECQ.COM getting finished ^_^
|
Almir Kadric
|
Posted - 2011.07.24 07:28:00 -
[3]
Is it just me or are all the T2 ore invtypematerials entries wrong?
It seems all the material types 34 - 40 are actually an addition of T1variant material requirements plus it's own. ALSO even contains some materials which shouldn't be there (such as zydrine for wolf)
Has this been this way for a while? or is this something that was missed or broken with a script? What's the best way to correct this?
|
Almir Kadric
|
Posted - 2011.07.25 23:08:00 -
[4]
Edited by: Almir Kadric on 25/07/2011 23:18:47
Originally by: Jercy Fravowitz
Originally by: Almir Kadric Is it just me or are all the T2 ore invtypematerials entries wrong?
just you.
see post 30++ here.
Thanks for this. Ended up creating quite a nice piece of SQL to work around this.
Originally by: Eugen Auberle Edited by: Eugen Auberle on 20/07/2011 19:07:10 Will the icon imgs be as they are? for items with id in name is rl nice thx. my problem is for market tree. why u have the img size in the middle of the icon name would be much much easier and less coding when size is pre or post set in name like 14_11_32 and not 14_32_11 as it is now. (i know its easy to code, but in my eyes not needed steps) EDIT: what i found atm is more stress ^^. f.e. ORE Icon for market is in db icon id 1277 and iconFile 23_05. The new img has the name 23_64_5 in icons\items folder. so 0 to cut out to. must that be? ^^ or im in some confusing stupid mistake with the db?
The code you're after would be something like this:
$imageFile = explode('_', $icon['iconFile']); $imageFile[0] = preg_replace('/^0/', '', $imageFile[0]); $imageFile[1] = preg_replace('/^0/', '', $imageFile[1]); $imageFileName = $imageFile[0].'_'.$size.'_'.$imageFile[1].'.png'; return $this->image('EVE/Icons/'.$subfolder.'/'.$imageFileName);
Where $icon['iconFile'] is the database return from the eveicons table.
|
Almir Kadric
|
Posted - 2011.07.26 00:01:00 -
[5]
Was there supposed to be a size 64 icon counterpart to all size 128 icons?
Just wondering since when constructing the marketgroups tree, there's an inconsistency when looking at Apparel group.
|
Almir Kadric
|
Posted - 2011.07.30 11:06:00 -
[6]
Edited by: Almir Kadric on 30/07/2011 11:06:35 Edited by: Almir Kadric on 30/07/2011 11:06:16 I haven't been able to find the skills requirements for invention in the ramrequirements table. If you look at that table for activity=1 (Manufacturing) it has the skills listed. But for invention ... is this a bug or am I to look elsewhere for them?
|
Almir Kadric
|
Posted - 2011.07.31 09:18:00 -
[7]
Well I looked for the ramtyperequirements for where typeid = 25857 which is the cryptic data interface. However nothing comes up. So im assuming im meant to hard code the skill for each of those requirements? OR is the pre-requisite skill stored elsewhere?
|
Almir Kadric
|
Posted - 2011.08.11 14:19:00 -
[8]
Originally by: Lutz Major The skills and levels to use an item are in the dgmTypeAttributes table:SELECT dta.*, dat.attributeName, dat.description FROM dgmTypeAttributes dta, dgmAttributeTypes dat WHERE dta.attributeID = dat.attributeID AND dta.typeID = 25857
The ramTypeRequirements table holds only values for manufacturing and researching.
Thanks for this, sorry for the late reply. I actually looked up what you mentioned and you're right it is there. Funny thing too because i was playing with those tables today while working on a new EFT for my site.
|
Almir Kadric
|
Posted - 2011.08.11 14:23:00 -
[9]
Now @ CCP dev team, are the missing icons or types images going to be fixed at any point?
For example the icon for the market group "Scan Probe Launchers" or "Apparel" or even all the "Artillery Cannons" children.
Is this going to be left as is? or is it eventually going to be fixed?
|
Almir Kadric
|
Posted - 2011.08.11 15:05:00 -
[10]
Also wanted to add:
Tempest Types image is broken "639_64.png" all white, there are a few other items like this.
Also Icons for most dgmattributes are missing ie 2_32_9.png "Structure Hitpoints"
|
|
Almir Kadric
|
Posted - 2011.08.17 15:47:00 -
[11]
Another thing I have noticed there are a whole heap of blueprints which have not been put in a market group even though they are published. One good example is all marauder blueprints.
when i ran the following:
select count(*) from `evecq_datadump`.`invtypes` as itemtypes left join `evecq_datadump`.`invgroups` as itemgroups on itemgroups.groupID = itemtypes.groupID where itemtypes.marketGroupID is null and itemgroups.categoryID = 9 and itemtypes.published = 1
I found that there are more than a 1000 items which are like this!
|
|
|
|